Transistor-level circuit simulation is important for designing integrated circuits. Simulating a circuit's behavior before actually building it can greatly improve design efficiency by making faulty designs known and providing insight into the behavior of electronics circuit designs. A circuit simulator formulates circuit equations and then numerically solves them to compute the circuit response to a particular stimulus. Developed about forty years ago, SPICE (Simulation Program with Integrated Circuit Emphasis) simulators are still being widely used in part due to its precision. While offering superior precision, SPICE simulators are limited to the simulation of small subcircuit blocks because of their memory capacity requirements and performance limitations.
The Fast-SPICE simulators have been developed to address these limitations. One of the main approaches adopted by the Fast-SPICE simulators is breaking a circuit into smaller subcircuits and solving each subcircuit independently. Further, if the signals in one or more subcircuits are latent during an interval of time, then it is not necessary to solve for them during that interval of time. These techniques, however, rely upon assumptions such as those about signals between the subcircuits. The assumptions may turn out to be incorrect if the circuit is not partitioned correctly. Thus, how a circuit is partitioned affects the accuracy of Fast-SPICE simulation.
While automatic circuit partitioning has been developed for the relatively simple circuit topologies found in digital MOS (metal oxide semiconductor) circuits, it remains a challenge for analog and mixed-signal circuits. FIG. 2 illustrates an example of an operational amplifier 200 being partitioning by a conventional automatic circuit partitioning method. In FIG. 2, the operational amplifier 200 is broken into several subcircuits by the conventional automatic circuit partitioning method. Only subcircuits 220, 240 and 260 are shown. Like many operational amplifiers, the operational amplifier 200 has a negative feedback loop 280. It should be appreciated that one or more subcircuits outside an operational amplifier may also be in the feedback loop for the operational amplifier. The feedback loop make all the subcircuits in the feedback loop such as subcircuits 220, 240 and 260 in FIG. 2 strongly coupled so that they are required to be simulated as a whole. Without identifying the feedback loop, a conventional automatic circuit partitioning method breaks an operational amplifier and its feedback into several subcircuits for simulation, thereby resulting in incorrect simulation results. It is thus desirable to find an efficient method for identifying operational amplifiers and their feedback loops in a transistor-level netlist.